package modele;

import java.util.Iterator;




public class PlateauInfopoly extends PlateauType{

	@Override
	public void creerCase(int id, String typeCase, String nom) {

		if(typeCase.equals("Evenement")){
			getListeCase().add(new CaseEvenement(id, nom));
		}else if(typeCase.equals("Conge")){
			getListeCase().add(new CaseConge(id, nom));
		}else if(typeCase.equals("CaseAutre")){
			getListeCase().add(new CaseAutre(id, nom));
		}else if(typeCase.equals("MissionEntreprise")){
			getListeCase().add(new CaseMissionEntreprise(id, nom));
		}else if(typeCase.equals("EnAnomalie")){
			getListeCase().add(new CaseEnAnomalie(id, nom));
		}
	}
	
	@Override
	public void creerCase(int id, String typeCase, String nom,int loyerCaseLibre, int loyerCaseOQP,Famille theme) {
		if(typeCase.equals("Matiere")){
			getListeCase().add(new CaseMatiere(id, nom,loyerCaseLibre,loyerCaseOQP,theme));
		}
	}


	public Famille creerFamille(String typeFamille, String nom,int loyerTheme) {
		Famille f;
		if(typeFamille.equals("Theme")){
			f= new Theme(nom,loyerTheme);
			this.getListeFamille().add(f);
			return f;
		}return null;

	}

	public void creerCarte(String typeCarte, int id, String nom, String description, int nbPoint, int nbAbs) {
		/*if(typeCarte.equals("CarteMatiere")){
			this.getListeCarteMatiere().add(new CarteMatiere(id, nom, description, nbPoint, nbAbs));
		}else */if(typeCarte.equals("CarteEvenement")){
			getListeCarteEvenement().add(new CarteEvenement(id, nom, description, nbPoint, nbAbs));
		}	
	}

	/**
	 * ajout des CaseMatiere aux Ue correspondants
	 * */
	@SuppressWarnings("rawtypes")
	public void insererMatiereDansTheme(){

		for (Iterator i = getListeCase().iterator(); i.hasNext();) 
		{
			Case c = (Case)i.next();

			if(c instanceof CaseMatiere)
				((CaseMatiere) c).getTheme().ajouterMembre(c);
		}
	}

}